#include "widget.h"
#include "ui_widget.h"
#include "thread.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //创建两个线程，让线程去访问公共资源
    Thread t1;
    Thread t2;
    //启动线程
    t1.start();
    t2.start();

    /*
     * 这里存在三个线程 主线程、t1、t2
     * 这三个线程是并发执行的关系，t1和t2运行起来之后，主线程任然会继续向后执行
     * 执行到qDebug()时，此时t1、t2线程还没有运行结束。
     * 所以，主线程需要对t1、t2线程进行等待，确保他们执行结束后，再去qDebug公共资源
    */

    //让主线程等待两个子线程执行结束
    t1.wait();
    t2.wait();
    //打印公共资源
    qDebug()<<Thread::num;
}

Widget::~Widget()
{
    delete ui;
}

